#ifndef MGRAPH_H
#define MGRAPH_H

#include <vector>
using namespace std;

class MGraph
{
public:
    vector<int> vertex;
    vector< vector<int> > arc;
    vector<bool> visited;
public:
    MGraph();
    MGraph(vector<int> &vertex, vector< vector<int> > &arc);
    int prepare();//return size
    void DFS();
    void BFS();
    void floyd_warshall();
    void Dijkstra(int r, int size);
    void Dijkstra();
private:
    void dfs(int i);

};

#endif // MGRAPH_H
